package com.huzz.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.huzz.entity.SysDictItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* 系统字典Item VO
*
* @author 童年的纸飞机
* @since 2023-06-07 13:27
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Builder
@ExcelTarget("sysDictItemVO")
@ApiModel("系统字典Item VO Args")
public class SysDictItemVO implements Serializable {

    @ApiModelProperty(value = "id")
    @Excel(name = "id")
    private Integer id;

    @ApiModelProperty(value = "字典标识")
    @Excel(name = "字典标识")
    private String label;

    @ApiModelProperty(value = "字典值")
    @Excel(name = "字典值")
    private String dictValue;

    @ApiModelProperty(value = "状态(1开启,0关闭)")
    @Excel(name = "状态(1开启,0关闭)")
    private Integer status;

    @ApiModelProperty(value = "父级id")
    @Excel(name = "父级id")
    private Integer parentId;

    @ApiModelProperty(value = "所属字典id")
    @Excel(name = "所属字典id")
    private Integer dictId;

    @ApiModelProperty(value = "排序")
    @Excel(name = "排序")
    private Integer sort;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "created_time")
    private Date createdTime;

    @ApiModelProperty(value = "创建人ID")
    @Excel(name = "创建人ID")
    @TableField(value = "created_user_id")
    private String createdUserId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    @Excel(name = "更新时间", format = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "update_time")
    private Date updateTime;

    @ApiModelProperty(value = "更新人ID")
    @Excel(name = "更新人ID")
    @TableField(value = "update_user_id")
    private String updateUserId;

    @ApiModelProperty(value = "子集")
    private List<SysDictItem> children;

}